package com.huitu.whht.base.core.api.wq.lrtsar;

import com.huitu.api.rest.AbstractApiResource;
import com.huitu.commons.PageUtils;
import com.huitu.whht.api.core.common.response.ApiResultBuilder;
import com.huitu.whht.api.core.common.annotations.SzyCoreApiResource;
import com.huitu.whht.api.core.common.annotations.SzyCoreApiService;
import com.huitu.whht.api.core.common.response.StatusRespBuilder;
import com.huitu.whht.api.core.common.util.LocalDateTimeUtil;
import java.time.LocalDateTime;
import com.huitu.whht.base.core.api.wq.lrtsar.entities.WqLrtsarA;
import com.huitu.whht.base.core.api.wq.lrtsar.entities.WqLrtsarAKey;
import com.huitu.whht.base.core.api.wq.lrtsar.entities.WqLrtsarAQo;
import com.huitu.whht.base.core.api.wq.lrtsar.service.IWqLrtsarAService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;

import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

/**
 * 说明: 湖库营养状态评价结果表API,表名称: WQ_LRTSAR_A <br/>
 * 日期: 2019-04-11
 * @author LiuCW
 */
@Component
@SzyCoreApiResource
@Path("wq/lrtsar/a")
public class WqLrtsarAResource extends AbstractApiResource {

    private static final Logger LOGGER = LoggerFactory.getLogger(WqLrtsarAResource.class);

    private static final String UUID = "19fa63b8-cab9-4bfb-8857-c39c0448a935";

    @Override
    public String getUUID() {
        return UUID;
    }

    @Autowired
    @SzyCoreApiService
    IWqLrtsarAService wqLrtsarAService;

    /**
     * @api {get} wq/lrtsar/a/{lrcd:\\w{13}}/{asot}/{asdr} [R][G]根据主键查询
     * @apiDescription [G]根据主键查询WQ_LRTSAR_A(湖库营养状态评价结果表)数据
     * @apiName (generate)select by primary key
     * @apiGroup WQ_LRTSAR_A-湖库营养状态评价结果表
     * @apiVersion 1.0.0
     * @apiSampleRequest wq/lrtsar/a/420116000126 /2018-01-01 00:00:00/360
     * @apiParam   {String}         lrcd               【必须】湖库编码
     * @apiParam   {Date}           asot               【必须】评价时间
     * @apiParam   {Integer}        asdr               【必须】评价时段长
     * @apiSuccess {String}         lrcd               湖库编码
     * @apiSuccess {Date}           asot               评价时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiSuccess {Integer}        asdr               评价时段长
     * @apiSuccess {String}         wqg                水质类别
     * @apiSuccess {String}         mespest            超标项目与倍数
     * @apiSuccess {Double}         tsi                营养状态指数
     * @apiSuccess {String}         nt                 备注
     * @apiSuccess {String}         speRegData         特殊区域
     * @apiSuccess {String}         nutStat            营养状态
     * @apiSuccess {Date}           evaComTm           评价完成时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiSuccess {String}         ts                 暂无注释
     * @apiSuccessExample 请求成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "lrcd": "420116000126 ",
     * "asot": "2018-01-01 00:00:00.0",
     * "asdr": 360,
     * "wqg": "3",
     * "mespest": null,
     * "tsi": 42.1,
     * "nt": null,
     * "speRegData": "0",
     * "nutStat": "2",
     * "evaComTm": null,
     * "ts": "2"
     *  }
     * }
     * @apiUse exceptions
     */
    @GET
    @Path("{lrcd:\\w{13}}/{asot}/{asdr}")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response selectByPrimaryKey(@PathParam("lrcd") String lrcd,@PathParam("asot") String asot,@PathParam("asdr") Integer asdr) {
        WqLrtsarAKey pk = new WqLrtsarAKey();
        pk.setLrcd(lrcd);
        LocalDateTime.parse(asot,LocalDateTimeUtil.DATE_TIME_FORMATTER_YMD_HMS);
        pk.setAsdr(asdr);
        LOGGER.info("根据主键查询 湖库营养状态评价结果表,参数 pk:{}", pk);
        return Response.ok(ApiResultBuilder.create(this, wqLrtsarAService.selectByPrimaryKey(pk))).build();
    }

    /**
     * @api {post} wq/lrtsar/a/list [R][G]根据条件查询
     * @apiDescription [G]根据条件查询WQ_LRTSAR_A(湖库营养状态评价结果表)数据
     * @apiName (generate)select by filter
     * @apiGroup WQ_LRTSAR_A-湖库营养状态评价结果表
     * @apiVersion 1.0.0
     * @apiSampleRequest wq/lrtsar/a/list
     * @apiParam   {String}         lrcd               湖库编码
     * @apiParam   {Date}           asotBgTm           (开始时间)评价时间
     * @apiParam   {Date}           asotEdTm           (结束时间)评价时间
     * @apiParam   {List(Integer)}  asdrList           (数组)评价时段长
     * @apiParam   {List(String)}   wqgList            (数组)水质类别
     * @apiParam   {String}         mespest            超标项目与倍数
     * @apiParam   {Double}         tsiMin             (最小)营养状态指数
     * @apiParam   {Double}         tsiMax             (最大)营养状态指数
     * @apiParam   {String}         nt                 备注
     * @apiParam   {List(String)}   speRegDataList     (数组)特殊区域
     * @apiParam   {List(String)}   nutStatList        (数组)营养状态
     * @apiParam   {Date}           evaComTmBgTm       (开始时间)评价完成时间
     * @apiParam   {Date}           evaComTmEdTm       (结束时间)评价完成时间
     * @apiParam   {List(String)}   tsList             (数组)暂无注释
     * @apiSuccess {String}         lrcd               湖库编码
     * @apiSuccess {Date}           asot               评价时间
     * @apiSuccess {Integer}        asdr               评价时段长
     * @apiSuccess {String}         wqg                水质类别
     * @apiSuccess {String}         mespest            超标项目与倍数
     * @apiSuccess {Double}         tsi                营养状态指数
     * @apiSuccess {String}         nt                 备注
     * @apiSuccess {String}         speRegData         特殊区域
     * @apiSuccess {String}         nutStat            营养状态
     * @apiSuccess {Date}           evaComTm           评价完成时间
     * @apiSuccess {String}         ts                 暂无注释
     * @apiSuccessExample 请求成功:
     * HTTP/1.1 200 OK
     * {
     * "result": [{
     * "lrcd": "420116000126 ",
     * "asot": "2018-01-01 00:00:00.0",
     * "asdr": 360,
     * "wqg": "3",
     * "mespest": null,
     * "tsi": 42.1,
     * "nt": null,
     * "speRegData": "0",
     * "nutStat": "2",
     * "evaComTm": null,
     * "ts": "2"
     *  }]
     * }
     *
     * @apiSuccessExample 分页请求:
     * request header: Rang={max=50;size=50;field=TS DESC}
     * HTTP/1.1 200 OK
     * {
     * "result": [{
     * "lrcd": "420116000126 ",
     * "asot": "2018-01-01 00:00:00.0",
     * "asdr": 360,
     * "wqg": "3",
     * "mespest": null,
     * "tsi": 42.1,
     * "nt": null,
     * "speRegData": "0",
     * "nutStat": "2",
     * "evaComTm": null,
     * "ts": "2"
     *  }],
     * "paging": {
     * "count": 3,
     * "total": 120,
     * "finale": false,
     * "index": 1
     * }
     * }
     * @apiUse header_rang
     * @apiUse exceptions
     */
    @POST
    @Path("list")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response selectList(WqLrtsarAQo filter) {
        PageUtils.startPageFromRang();
        LOGGER.info("根据条件查询 湖库营养状态评价结果表,参数 WqLrtsarAQo:{}", filter);
        return Response.ok(ApiResultBuilder.create(this, wqLrtsarAService.selectList(filter))).build();
    }

    /**
     * @api {put} wq/lrtsar/a [C][G]新增数据
     * @apiPrivate
     * @apiDescription [G]新增WQ_LRTSAR_A(湖库营养状态评价结果表)数据
     * @apiName (generate)add data
     * @apiGroup WQ_LRTSAR_A-湖库营养状态评价结果表
     * @apiVersion 1.0.0
     * @apiParam   {String}         lrcd               【必须】湖库编码
     * @apiParam   {Date}           asot               【必须】评价时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiParam   {Integer}        asdr               【必须】评价时段长
     * @apiParam   {String}         wqg                【必须】水质类别
     * @apiParam   {String}         mespest            超标项目与倍数
     * @apiParam   {Double}         tsi                营养状态指数
     * @apiParam   {String}         nt                 备注
     * @apiParam   {String}         speRegData         特殊区域
     * @apiParam   {String}         nutStat            营养状态
     * @apiParam   {Date}           evaComTm           评价完成时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiParam   {String}         ts                 暂无注释
     * @apiSuccess {Integer}        status             1:新增成功;0:新增失败.
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据,通常包含新增数据的主键值
     * @apiSampleRequest wq/lrtsar/a
     * @apiSuccessExample 新增成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":{
     *   "lrcd": "420116000126 ",
     *   "asot": "2018-01-01 00:00:00.0",
     *   "asdr": 360
     *      }
     *   }
     * }
     @apiSuccessExample 新增失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":{
     *   "lrcd": "420116000126 ",
     *   "asot": "2018-01-01 00:00:00.0",
     *   "asdr": 360
     *      }
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * {
     * "lrcd": "420116000126 ",
     * "asot": "2018-01-01 00:00:00.0",
     * "asdr": 360,
     * "wqg": "3",
     * "mespest": null,
     * "tsi": 42.1,
     * "nt": null,
     * "speRegData": "0",
     * "nutStat": "2",
     * "evaComTm": null,
     * "ts": "2"
     * }
     * @apiUse exceptions
     */
    @PUT
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response insert(WqLrtsarA record) {
        LOGGER.info("新增 湖库营养状态评价结果表,参数 WqLrtsarA:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.insert(wqLrtsarAService.insertSelective(record),record))).build();
    }

    /**
     * @api {post} wq/lrtsar/a/insertBatch [C][G]批量新增数据
     * @apiPrivate
     * @apiDescription [G]批量新增WQ_LRTSAR_A(湖库营养状态评价结果表)数据
     * @apiName (generate)addBatch data
     * @apiGroup WQ_LRTSAR_A-湖库营养状态评价结果表
     * @apiVersion 1.0.0
     * @apiParam   {String}         lrcd               【必须】湖库编码
     * @apiParam   {Date}           asot               【必须】评价时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiParam   {Integer}        asdr               【必须】评价时段长
     * @apiParam   {String}         wqg                【必须】水质类别
     * @apiParam   {String}         mespest            超标项目与倍数
     * @apiParam   {Double}         tsi                营养状态指数
     * @apiParam   {String}         nt                 备注
     * @apiParam   {String}         speRegData         特殊区域
     * @apiParam   {String}         nutStat            营养状态
     * @apiParam   {Date}           evaComTm           评价完成时间(时间格式 <font color='red'>yyyy-MM-dd HH:mm:ss</font>)
     * @apiParam   {String}         ts                 暂无注释
     * @apiSuccess {Integer}        status             1:新增成功;0:新增失败.
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据,通常包含新增数据的主键值
     * @apiSampleRequest wq/lrtsar/a/insertBatch
     * @apiSuccessExample 新增成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":{
     *   "lrcd": "420116000126 ",
     *   "asot": "2018-01-01 00:00:00.0",
     *   "asdr": 360
     *      }
     *   }
     * }
     @apiSuccessExample 新增失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":{
     *   "lrcd": "420116000126 ",
     *   "asot": "2018-01-01 00:00:00.0",
     *   "asdr": 360
     *      }
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * [{
     * "lrcd": "420116000126 ",
     * "asot": "2018-01-01 00:00:00.0",
     * "asdr": 360,
     * "wqg": "3",
     * "mespest": null,
     * "tsi": 42.1,
     * "nt": null,
     * "speRegData": "0",
     * "nutStat": "2",
     * "evaComTm": null,
     * "ts": "2"
     * }]
     * @apiUse exceptions
     */
    @POST
    @Path("insertBatch")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response insertBatch(List<WqLrtsarA> recordList) {
        LOGGER.info("批量新增 湖库营养状态评价结果表,参数 WqLrtsarA:[]", recordList);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.insert(wqLrtsarAService.insertBatch(recordList),recordList))).build();
    }

    /**
     * @api {put} wq/lrtsar/a/{lrcd:\\w{13}}/{asot}/{asdr}/update [U][G]根据主键修改
     * @apiPrivate
     * @apiDescription [G]根据主键修改WQ_LRTSAR_A(湖库营养状态评价结果表)数据
     * @apiName (generate)update data
     * @apiGroup WQ_LRTSAR_A-湖库营养状态评价结果表
     * @apiVersion 1.0.0
     * @apiParam   {String}         lrcd               【必须】湖库编码
     * @apiParam   {Date}           asot               【必须】评价时间
     * @apiParam   {Integer}        asdr               【必须】评价时段长
     * @apiParam   {String}         wqg                【必须】水质类别
     * @apiParam   {String}         mespest            超标项目与倍数
     * @apiParam   {Double}         tsi                营养状态指数
     * @apiParam   {String}         nt                 备注
     * @apiParam   {String}         speRegData         特殊区域
     * @apiParam   {String}         nutStat            营养状态
     * @apiParam   {Date}           evaComTm           评价完成时间
     * @apiParam   {String}         ts                 暂无注释
     * @apiSuccess {Integer}        status             1:修改成功;0:要修改的数据不存在(可能已被删除)
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSampleRequest wq/lrtsar/a/420116000126 /2018-01-01 00:00:00/360/update
     * @apiSuccessExample 修改成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 修改失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * {
     * "lrcd": "420116000126 ",
     * "asot": "2018-01-01 00:00:00.0",
     * "asdr": 360,
     * "wqg": "3",
     * "mespest": null,
     * "tsi": 42.1,
     * "nt": null,
     * "speRegData": "0",
     * "nutStat": "2",
     * "evaComTm": null,
     * "ts": "2"
     * }
     * @apiUse exceptions
     */
    @PUT
    @Path("{lrcd:\\w{13}}/{asot}/{asdr}/update")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response update(@PathParam("lrcd") String lrcd,@PathParam("asot") String asot,@PathParam("asdr") Integer asdr, WqLrtsarA record) {
        record.setLrcd(lrcd);
        LocalDateTime.parse(asot,LocalDateTimeUtil.DATE_TIME_FORMATTER_YMD_HMS);
        record.setAsdr(asdr);
        LOGGER.info("根据主键修改 湖库营养状态评价结果表,参数 WqLrtsarA:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.update(wqLrtsarAService.updateByPrimaryKey(record)))).build();
    }

    /**
     * @api {put} wq/lrtsar/a/{lrcd:\\w{13}}/{asot}/{asdr}/update-selective [U][G]根据主键修改(只修改非null字段)
     * @apiPrivate
     * @apiDescription [G]根据主键修改WQ_LRTSAR_A(湖库营养状态评价结果表)数据,只修改非null字段
     * @apiName (generate)update selected data
     * @apiGroup WQ_LRTSAR_A-湖库营养状态评价结果表
     * @apiVersion 1.0.0
     * @apiParam   {String}         lrcd               湖库编码
     * @apiParam   {Date}           asot               评价时间
     * @apiParam   {Integer}        asdr               评价时段长
     * @apiParam   {String}         wqg                水质类别
     * @apiParam   {String}         mespest            超标项目与倍数
     * @apiParam   {Double}         tsi                营养状态指数
     * @apiParam   {String}         nt                 备注
     * @apiParam   {String}         speRegData         特殊区域
     * @apiParam   {String}         nutStat            营养状态
     * @apiParam   {Date}           evaComTm           评价完成时间
     * @apiParam   {String}         ts                 暂无注释
     * @apiSuccess {Integer}        status             1:修改成功;0:要修改的数据不存在(可能已被删除)
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSampleRequest wq/lrtsar/a/420116000126 /2018-01-01 00:00:00/360/update-selective
     * * @apiSuccessExample 修改成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 修改失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * {
     * "lrcd": "420116000126 ",
     * "asot": "2018-01-01 00:00:00.0",
     * "asdr": 360,
     * "wqg": "3",
     * "mespest": null,
     * "tsi": 42.1,
     * "nt": null,
     * "speRegData": "0",
     * "nutStat": "2",
     * "evaComTm": null,
     * "ts": "2"
     * }
     * @apiUse exceptions
     */
    @PUT
    @Path("{lrcd:\\w{13}}/{asot}/{asdr}/update-selective")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response updateSelective(@PathParam("lrcd") String lrcd,@PathParam("asot") String asot,@PathParam("asdr") Integer asdr, WqLrtsarA record) {
        record.setLrcd(lrcd);
        LocalDateTime.parse(asot,LocalDateTimeUtil.DATE_TIME_FORMATTER_YMD_HMS);
        record.setAsdr(asdr);
        LOGGER.info("根据主键修改(只修改非null字段) 湖库营养状态评价结果表,参数 WqLrtsarA:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.update(wqLrtsarAService.updateByPrimaryKeySelective(record)))).build();
    }

    /**
     * @api {post} wq/lrtsar/a/updateBatch [U][G]根据主键批量修改(只修改非null字段)
     * @apiPrivate
     * @apiDescription [G]根据批量主键修改WQ_LRTSAR_A(湖库营养状态评价结果表)数据,只修改非null字段
     * @apiName (generate)updateBatch selected data
     * @apiGroup WQ_LRTSAR_A-湖库营养状态评价结果表
     * @apiVersion 1.0.0
     * @apiParam   {String}         lrcd               湖库编码
     * @apiParam   {Date}           asot               评价时间
     * @apiParam   {Integer}        asdr               评价时段长
     * @apiParam   {String}         wqg                水质类别
     * @apiParam   {String}         mespest            超标项目与倍数
     * @apiParam   {Double}         tsi                营养状态指数
     * @apiParam   {String}         nt                 备注
     * @apiParam   {String}         speRegData         特殊区域
     * @apiParam   {String}         nutStat            营养状态
     * @apiParam   {Date}           evaComTm           评价完成时间
     * @apiParam   {String}         ts                 暂无注释
     * @apiSuccess {Integer}        status             1:修改成功;0:要修改的数据不存在(可能已被删除)
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSampleRequest  wq/lrtsar/a/updateBatch
     * * @apiSuccessExample 修改成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 修改失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * [{
     * "lrcd": "420116000126 ",
     * "asot": "2018-01-01 00:00:00.0",
     * "asdr": 360,
     * "wqg": "3",
     * "mespest": null,
     * "tsi": 42.1,
     * "nt": null,
     * "speRegData": "0",
     * "nutStat": "2",
     * "evaComTm": null,
     * "ts": "2"
     * }]
     * @apiUse exceptions
     */
    @POST
    @Path("updateBatch")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response updateBatch(List<WqLrtsarA> record) {
        LOGGER.info("根据主键批量修改(只修改非null字段) 湖库营养状态评价结果表,参数 WqLrtsarA:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.update(wqLrtsarAService.updateBatch(record)))).build();
    }

    /**
     * @api {delete} wq/lrtsar/a/{lrcd:\\w{13}}/{asot}/{asdr} [D][G]根据主键删除
     * @apiPrivate
     * @apiDescription [G]根据主键删除WQ_LRTSAR_A(湖库营养状态评价结果表)数据
     * @apiName (generate)delete by primary key
     * @apiGroup WQ_LRTSAR_A-湖库营养状态评价结果表
     * @apiVersion 1.0.0
     * @apiSampleRequest wq/lrtsar/a/420116000126 /2018-01-01 00:00:00/360
     * @apiParam   {String}         lrcd               【必须】湖库编码
     * @apiParam   {Date}           asot               【必须】评价时间
     * @apiParam   {Integer}        asdr               【必须】评价时段长
     * @apiSuccess {Integer}        status             1:删除成功;0:要删除的数据不存在(可能已被删除).
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSuccessExample 删除成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 删除失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiUse exceptions
     */
    @DELETE
    @Path("{lrcd:\\w{13}}/{asot}/{asdr}")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response delete(@PathParam("lrcd") String lrcd,@PathParam("asot") String asot,@PathParam("asdr") Integer asdr) {
         WqLrtsarAKey pk = new WqLrtsarAKey();
        pk.setLrcd(lrcd);
        LocalDateTime.parse(asot,LocalDateTimeUtil.DATE_TIME_FORMATTER_YMD_HMS);
        pk.setAsdr(asdr);
        LOGGER.info("根据主键删除 湖库营养状态评价结果表,参数 pk:{}", pk);
        Integer rows = wqLrtsarAService.deleteByPrimaryKey(pk);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.delete(rows))).build();
    }

    /**
     * @api {delete} wq/lrtsar/a/by-filter [D][G]根据条件删除
     * @apiPrivate
     * @apiDescription [G]根据条件删除WQ_LRTSAR_A(湖库营养状态评价结果表)数据
     * @apiName (generate)delete by filter
     * @apiGroup WQ_LRTSAR_A-湖库营养状态评价结果表
     * @apiVersion 1.0.0
     * @apiSampleRequest wq/lrtsar/a/by-filter
     * @apiParam   {String}         lrcd               湖库编码
     * @apiParam   {Date}           asotBgTm           (开始时间)评价时间
     * @apiParam   {Date}           asotEdTm           (结束时间)评价时间
     * @apiParam   {List(Integer)}  asdrList           (数组)评价时段长
     * @apiParam   {List(String)}   wqgList            (数组)水质类别
     * @apiParam   {String}         mespest            超标项目与倍数
     * @apiParam   {Double}         tsiMin             (最小)营养状态指数
     * @apiParam   {Double}         tsiMax             (最大)营养状态指数
     * @apiParam   {String}         nt                 备注
     * @apiParam   {List(String)}   speRegDataList     (数组)特殊区域
     * @apiParam   {List(String)}   nutStatList        (数组)营养状态
     * @apiParam   {Date}           evaComTmBgTm       (开始时间)评价完成时间
     * @apiParam   {Date}           evaComTmEdTm       (结束时间)评价完成时间
     * @apiParam   {List(String)}   tsList             (数组)暂无注释
     * @apiSuccess {Integer}        status             通常1或者>1:删除成功;0:没有符合条件的数据.
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSuccessExample 删除成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 删除失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiUse exceptions
     */
    @DELETE
    @Path("by-filter")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response deleteByFilter(WqLrtsarAQo filter) {
        LOGGER.info("根据条件删除 湖库营养状态评价结果表,参数 WqLrtsarAQo:{}", filter);
        Integer rows = wqLrtsarAService.deleteByFilter(filter);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.delete(rows))).build();
    }
}
